From 7773e6ccbed7fd491bfe1c4c3398c4a2a02fcecc Mon Sep 17 00:00:00 2001 From: "lynx@idefix.cl.cam.ac.uk" Date: Wed, 18 Dec 2002 09:11:32 +0000 Subject: [PATCH] bitkeeper revision 1.7.3.26 (3e003bc41S15i4Ag0BUKBFRkbtQV-g) testing --- xenolinux-2.4.16-sparse/arch/xeno/drivers/dom0/dom0_core.c | 2 ++ .../arch/xeno/drivers/dom0/dom0_memory.c | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/xenolinux-2.4.16-sparse/arch/xeno/drivers/dom0/dom0_core.c b/xenolinux-2.4.16-sparse/arch/xeno/drivers/dom0/dom0_core.c index a868fb8070..43bc15d96d 100644 --- a/xenolinux-2.4.16-sparse/arch/xeno/drivers/dom0/dom0_core.c +++ b/xenolinux-2.4.16-sparse/arch/xeno/drivers/dom0/dom0_core.c @@ -153,6 +153,8 @@ static ssize_t dom_mem_write(struct file * file, const char * buff, copy_from_user(&addr, (unsigned long *)buff, sizeof(addr)); + printk("bd240 debug: dom_mem_write addr %lx\n", addr); + if(direct_disc_unmap(addr, mem_data->pfn, mem_data->tot_pages) == 0){ return sizeof(addr); } else { diff --git a/xenolinux-2.4.16-sparse/arch/xeno/drivers/dom0/dom0_memory.c b/xenolinux-2.4.16-sparse/arch/xeno/drivers/dom0/dom0_memory.c index cf76809245..b5cbf75f67 100644 --- a/xenolinux-2.4.16-sparse/arch/xeno/drivers/dom0/dom0_memory.c +++ b/xenolinux-2.4.16-sparse/arch/xeno/drivers/dom0/dom0_memory.c @@ -182,6 +182,8 @@ unsigned long direct_mmap(unsigned long phys_addr, unsigned long size, dmmap->addr = addr; list_add(&dmmap->list, ¤t->mm->context.direct_list); + printk("bd240 debug: direct_mmap: enlisting addr %lx\n", dmmap->addr); + /* and perform the mapping */ if(flag == MAP_DISCONT){ ret = direct_remap_disc_page_range(addr, phys_addr, tot_pages, prot); @@ -330,9 +332,14 @@ int direct_disc_unmap(unsigned long from, unsigned long first_pg, int tot_pages) struct list_head * curr; struct list_head * direct_list = ¤t->mm->context.direct_list; + printk("bd240 debug: direct_disc_unmap: from %lx\n", from); + curr = direct_list->next; while(curr != direct_list){ node = list_entry(curr, direct_mmap_node_t, list); + + printk("bd240 debug: direct_disc_unmap: node %lx\n", node->addr); + if(node->addr == from) break; curr = curr->next; -- 2.30.2